# 1. Installation ## Check your version of python You will need python 3.11 or later. You can check your version of python by typing into a terminal: ``` python3 --version ``` ## Clone the blueapi repository locally Clone the blueapi repository to your local scratch directory and `cd` into it. ## Create a virtual environment It is recommended that you install into a “virtual environment” so this installation will not interfere with any existing Python software: ``` python3 -m venv /path/to/venv source /path/to/venv/bin/activate ``` ## Installing the library You can now use `pip` to install the library and its dependencies: ``` python3 -m pip install blueapi ``` If you require a feature that is not currently released you can also install from GitHub: ``` python3 -m pip install git+https://github.com/DiamondLightSource/blueapi.git ``` The library should now be installed and the commandline interface on your path. You can check the version that has been installed by typing: ``` blueapi --version ``` Troubleshooting: - If you encounter a keycloak hook 137 error, this is because of there not being enough resources. You may need to close things that are running in the background. - You may encounter ``` Error response from daemon: rootlessport listen tcp 0.0.0.0:1883: bind: address already in use ``` This can arise from `activemq-for-dummy` which is used across DLS for GDA development. You will need to stop processes that have conflicting ports.